package br.ufrn.sipac.patrimonio.coletor.dominio;

import android.annotation.SuppressLint;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable(tableName = "item_levantamento")
public class ItemLevantamento implements Persistencia {

	  /**
     * Identificador da entidade.
     */
	@DatabaseField(generatedId=true)
    private int id;

    /**
     * Representa o levantamento a qual o  item est� vinculado.
     */
	
	@DatabaseField(columnName="id_levantamento", foreign=true)
    private Levantamento levantamento;

    /**
     * Vari�vel que representa o n�mero de tombamento.
     */
	
	@DatabaseField(columnName="num_tombamento")
    private String numTombamento;


    /**
     * Vari�vel que representa a denomina��o de um item de levantamento.
     */
	@DatabaseField
    private String denominacao;


    /**
     * Vari�vel que representa a marca de um bem patrimonial.
     */
	@DatabaseField(columnName="marca")
    private String marca;



    /**
     * Representa o bem patrimonial inserido.
     */
    @DatabaseField(columnName="id_bem", foreign=true)
    private Bem bem;

    /**
     * Representa o estado do bem no momento do levantamento, representado pela entidade:
     * br.ufrn.sipac.patrimonio.coletor.dominio.TipoEstadoBem
     */
    @DatabaseField
    private int estado;

    public Bem getBem() {
        return bem;
    }

    public void setBem(Bem bem) {
        this.bem = bem;
    }

    public int getEstado() {
        return estado;
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getDenominacao() {
        return denominacao;
    }

    public void setDenominacao(String denominacao) {
        this.denominacao = denominacao;
    }

    public Levantamento getLevantamento() {
        return levantamento;
    }

    public void setLevantamento(Levantamento levantamento) {
        this.levantamento = levantamento;
    }



    public String toString() {
        return  "=" +  (this.numTombamento != null ?  this.numTombamento  : null )  + "=" + (this.denominacao != null  ?  this.denominacao :null )
                + "=" + (this.bem != null  ? Integer.toString(this.bem.getId()) : null)  + "=" + (this.marca != null  ?  this.marca : null) + "=" + this.estado;
    }

    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    public String getNumTombamento() {
        return numTombamento;
    }

    public void setNumTombamento(String numTombamento) {
        this.numTombamento = numTombamento;
    }

    public boolean equals(Object obj) {

        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ItemLevantamento other = (ItemLevantamento) obj;
        if (other.getId() != this.getId())
        	return false;
        if (this.getBem() != null) {
            if (this.getBem().getNumTombamento() != other.getBem().getNumTombamento()) {
                return false;
            }
        
        }
        return true;
    }



}
